<?php
/**
 * SimplifyPHP Framework
 *
 * This file is part of SimplifyPHP Framework.
 *
 * SimplifyPHP Framework is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * SimplifyPHP Framework is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @author Rodrigo Rutkoski Rodrigues, <rutkoski@gmail.com>
 * @copyright Copyright 2008 Rodrigo Rutkoski Rodrigues
 */

require_once ('lib/functions.php');

/**
 * Absolute path to Simplify
 */
define('SY_DIR', sy_fix_path(dirname(__FILE__)));

/**
 *
 */
require_once ('kernel/Simplify.php');
require_once ('kernel/Exceptions.php');
require_once ('lib/spyc.php');
require_once ('lib/l10n/l10n.php');

/**
 *
 */
if (! function_exists('__autoload')) {

  function __autoload($class_name)
  {
    $classPath = array(
      '', 'kernel', 'kernel/api', 'kernel/core', 'kernel/data', 'kernel/data/filter', 'kernel/data/validation', 'kernel/view', 'kernel/cache', 'kernel/domain', 
      'kernel/dao', 'lib' 
    );
    
    foreach ($classPath as $path) {
      if (file_exists(SY_DIR . '/' . $path . '/' . $class_name . '.php')) {
        require_once (SY_DIR . '/' . $path . '/' . $class_name . '.php');
        return;
      }
    }
    
    global $appClassPath;
    
    $appClassPath = ( array ) $appClassPath;
    
    foreach ($appClassPath as $path) {
      if (file_exists($path . '/' . $class_name . '.php')) {
        require_once ($path . '/' . $class_name . '.php');
        return;
      }
    }
  }
}

/**
 *
 */
if (function_exists('php_uname')) {
  define('IS_WIN', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false);
}
else {
  define('IS_WIN', (DIRECTORY_SEPARATOR == '\\') ? true : false);
}

require_once('debug.php');

?>